package com.housekeeping.service;

import com.housekeeping.model.Order;

import java.util.List;

/**
 * 订单服务接口
 */
public interface OrderService {
    
    boolean createOrder(Order order);
    
    String generateOrderNo();
    
    Order getOrderById(Integer orderId);
    
    List<Order> getAllOrdersWithDetails();
    
    List<Order> getOrdersByUserId(Integer userId);
    
    List<Order> getOrdersByStaffId(Integer staffId);
    
    List<Order> getOrdersByStatus(Integer status);
    
    boolean updateOrder(Order order);
    
    boolean updateOrderStatus(Integer orderId, Integer status);
    
    boolean assignStaff(Integer orderId, Integer staffId);
    
    boolean cancelOrder(Integer orderId);
    
    boolean completeOrder(Integer orderId);
    
    boolean deleteOrder(Integer orderId);
    
    long getOrderCount();
    
    int getOrderCountByStaffId(Integer staffId);
    
    int getCompletedOrderCountByStaffId(Integer staffId);
    
    int getOngoingOrderCountByStaffId(Integer staffId);
} 